ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5

Σχετικά έγγραφα
שפות פורמאליות אוטומטים

שפות פורמאליות אוטומטים

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

{ : Halts on every input}

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

Logic and Set Theory for Comp. Sci.

Regular Expressions (RE)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

חורף תש''ע פתרון בחינה סופית מועד א'

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

אוטומטים- תרגול 8 שפות חסרות הקשר

gcd 24,15 = 3 3 =

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

הרצאה נושאי הקורס 0.2 א"ב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן?

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, א"ב (.

מודלים חישוביים תרגולמס 5

מתמטיקה בדידה תרגול מס' 5

אוטומטים, שפות פורמליות ו ח ישוּב יוּת

אוטומטים ושפות פורמליות תרגולים

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

אלגברה ליניארית (1) - תרגיל 6

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

תרגיל 13 משפטי רול ולגראנז הערות

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

אוטומטים ושפות פורמליות מבוא לתורת החישוביות

ל הזכויות שמורות לדפנה וסטרייך

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

הגדרה: מצבים k -בני-הפרדה

אוטומטים ושפות פורמליות מבוא לתורת החישוביות

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

גבול ורציפות של פונקציה סקלרית שאלות נוספות

מודלים חישוביים כריעות R זוהי מחלקת השפות הכריעות. מחלקה זו סגורה תחת פעולת המשלים. רדוקציה בעיית ההכרעה רדוקציית מיפוי.

logn) = nlog. log(2n

אימות חומרה תוכנה אלי דיין 1 6 בדצמבר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

מתמטיקה בדידה תרגול מס' 13

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

אינפי - 1 תרגול בינואר 2012

תורת הקבוצות ניר אדר ניר אדר.

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521

תורת הקבוצות תרגיל בית 2 פתרונות

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

. {e M: x e} מתקיים = 1 x X Y

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

מתמטיקה בדידה תרגול מס' 2

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב פרופ' יעקב ורשבסקי

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר


מבוא ללוגיקה מתמטית 80423

מודלים חישוביים פתרון תרגיל 5

x a x n D f (iii) x n a ,Cauchy

אלגברה מודרנית פתרון שיעורי בית 6

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

סיכום לינארית 1 28 בינואר 2010 מרצה: יבגני סטרחוב מתרגלת: גילי שול אין המרצה או המתרגלת קשורים לסיכום זה בשום דרך.

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

תרגול מס' 6 פתרון מערכת משוואות ליניארית

אלגברה לינארית (1) - פתרון תרגיל 11

1 סכום ישר של תת מרחבים

מודלים חישוביים, חישוביות וסיבוכיות

תרגול פעולות מומצאות 3

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

תרגול מס' 1 3 בנובמבר 2012

אוטומטים מעל עצמים אינסופיים 67663

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה.

שאלה 1 V AB פתרון AB 30 R3 20 R

לוגיקה למדעי המחשב ניצן פומרנץ 25 ביוני 2015

אלגברה לינארית 1 יובל קפלן

התפלגות χ: Analyze. Non parametric test

סיכום- בעיות מינימוםמקסימום - שאלון 806

אלגברה ליניארית 1 א' פתרון 2

A-PDF Merger DEMO : Purchase from to remove the watermark

מודלים חישוביים, חישוביות וסיבוכיות 67521

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

רשימת משפטים והגדרות

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה!

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

Transcript:

הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) ביטויים רגולריים הרצאה 5 המצגת מבוססת על ספרם של פרופ' נסים פרנסיז ופרופ' שמואל זקס, "אוטומטים ושפות פורמליות", האוניברסיטה הפתוחה, 1987. גרסה ראשונה של מצגת זו הוכנה על-ידי אריאל ירושביץ, תחת הנחייתו של פרופ' שמואל זקס. בגרסה הנוכחית הוכנסו מספר שינויים ועדכונים על-ידי פרופ' יובל ישי, פרופ' מיכאל קמינסקי ופרופ' שמואל זקס.

תקציר הפרקים הקודמים המשכנו לדון באוטומטים א"ד. הראינו שקילותם למודל הבסיסי. סיימנו לדון באוטומטים א"ד עם מסעי-. 2

סגירות תחת פעולות רגולריות נשתמש בכלים שרכשנו אי-דטרמיניזם ומסעי להוכיח מספר תכונות סגירות נוספות. הפעולות איחוד ( ), שרשור פעולות רגולריות. משפט (*) ואיטרציה ( ) על מנת נקראות השפות הרגולריות סגורות תחת הפעולות הרגולריות. סגירות תחת איחוד הוכחה ע"י שימוש בהוכחת סגירות תחת חיתוך וכלל דה-מורגן, וכן ע"י בנייה ישירה של אוטומט מכפלה. נוכיח סגירות זו שנית על מנת להציג את כוחם של הכלים שנרכשו. 3

סגירות לאיחוד יהיו L 1, L 2 שפות רגולריות לא ריקות ויהיו = 1,2 i A i = (Q i, Σ, q 0i, δ i, {q fi }), אוטומטים המקבלים אותן, כך ש- = 2 Q 1 Q ומ- q fi אין קשתות יוצאות. (ראינו כי לכל אוטומט קיים אוטומט שקול מהצורה הנ"ל.) להלן תיאור גרפי של אוטומט A המקבל את : L 1 L 2 q 01 A 1 q f1 q 0 q 02 A 2 q f2 q f 4

סגירות לאיחוד (המשך 1) L 2 הגדרה פורמלית של A: נגדיר ) Α A = (Q 1 Q 2 {q 0, q f },Σ,q 0,{q f },δ כך ש q 0, q f Q 1 Q 2 δ Α (q 0,) = {q 01, q 02 } q Q 1 -{q f1 }, σ Σ {}, δ Α (q,σ) = δ 1 (q, σ) q Q 2 -{q f2 }, σ Σ {}, δ Α (q,σ) = δ 2 (q, σ) δ Α (q f1,) = δ Α (q f2,) = {q f } "האוטומט מנחש" האם המילה הנוכחית שייכת ל L 1 או ל ומכאן ממשיך את החישוב כמו האוטומט המתאים. לצורך הוכחה יש להראות את ההכלה הדו כיוונית בפירוט. 5

סגירות לשרשור יהיו L 1, L 2 שפות רגולריות לא ריקות ויהיו = 1,2 i A i = (Q i,σ,q 0i,{q fi },δ i ), האוטומטים המקבלים אותן. שוב נניח כי קבוצות המצבים של האוטומטים הינן זרות ולכל אחד מהאוטומטים מצב מקבל יחיד, אשר אין ממנו קשתות יוצאות. להלן תיאור גרפי של האוטומט A המקבל את L 1 L 2 q 01 A 1 q f1 q 02 A 2 q f2 6

סגירות לשרשור (המשך 1) הגדרה פורמלית של A נגדיר ) Α A = (Q 1 Q 2,Σ,q 01,{q f2 },δ q Q 1 -{q f1 }, σ Σ {}, δ Α (q,σ) = δ 1 (q, σ) δ Α (q f1,) = {q 02 } q Q 2, σ Σ {}, δ Α (q,σ) = δ 2 (q, σ) כולל סדרת מעברים המתחילה ב q 01 q, f1 מעבר ל- q 02 ומשם חישוב המסתיים ב- חישוב מקבל של A ומסתיימת ב.q f2 ניתן להראות כי חישוב כנ"ל אפשרי רק על מילה השייכת ל-.L 1 L 2 7

סגירות לאיטרציה תהי L שפה רגולריות ויהי },δ) A = (Q,Σ,q 0,{q f אוטומט המקבל אותה. שוב נניח כי לאוטומט הנ"ל מצב מקבל יחיד, ממנו קשתות יוצאות. אשר אין להלן תיאור גרפי של אוטומט * A המקבל את * L: q 0 * q 0 A q f q f * 8

סגירות לאיטרציה (המשך 1).q f * q 0 ל- * הגדרה פורמלית של * A A * = (Q {q 0*, q f* },Σ,q 0*,{q f* },δ * ) δ * (q 0*, ) = δ * (q f, ) = {q 0, q f* } q Q-{q f }, σ Σ {}, δ * (q,σ) = δ (q, σ) - נגדיר רעיון ההוכחה (כיוון אחד): מתקבל ע"י האוטומט כיוון שיש מסע- מ עבור כל מילה שהיא שרשור מספר סופי של מילים מ- L נעבור בתוך הלולאה הפנימית שבאיור האוטומט, ולבסוף נעבור עם מסע.w L + כך ניתן להגדיר מסלול חישוב מקבל עבור כל q. * ה ל- f פורמלית יש לבצע אינדוקציה על מספר השרשורים. 9

סגירות לאיטרציה (המשך 2) q 0 * q 0 A q f q f * רעיון ההוכחה (כיוון שני): נניח ש- * A מקבל את w, מקרה א': המסלול מבצע מסע- במקרה זה,w= ולכן *.w L מ ונתבונן במסלול חישוב מקבל..q f * q 0 ל- * - מקרה ב': המסלול מגיע 1 k פעמים ל- q, f ולאחר כל ביקור ב- q f פרט לביקור האחרון מבצע מסע- ל- q. 0 במקרה זה, ניתן לרשום,w=w 1 w 2 w k כאשר כל w i מתקבלת ע"י.w L * לכן במקרה זה A. 10

ביטויים רגולריים עד כה תיארנו שפות רגולריות ע"י בניית אוטומט, וכן ע"י סימוני קבוצות רגילים כלומר תיאור תכונות שונות של המילים השייכות לקבוצה. באמצעות תיאור כקבוצה ניתן כמובן לתאר גם שפות שאינן רגולריות. הוכחת רגולריות של שפה דורשת מציאת אוטומט המקבל אותה, או שימוש בתכונות סגירות. נציג עתה דרך נוספת לתיאור שפות רגולריות. דרך סימון זו מבטיחה כי כל שפה הניתנת לתיאור באמצעותה היא רגולרית. 11

ביטוים רגולריים - סינטקס,R Σ הגדרה: אוסף הביטויים הרגולריים מוגדר ברקורסיה באופן הבא: אטומים:, R σ Σ, σ R (מעל א"ב Σ), המסומן ב- (r 1 r 2 ) וכן R פעולות יצירה: אם r 1, r 2 R אז (r 1 + r 2 ) R אם r R אז (r * ) R דוגמאות: כל הביטויים הבאים הם ביטויים רגולריים מעל Σ={a,b} :,, a, b (+b), ((+b) b) ( * ), ((+b) (b * )) 12

ביטויים רגולריים - סמנטיקה לביטויים אין נאמר כי L[r] היא השפה שמציין הביטוי r ההגדרה הנ"ל הינה הגדרה תחבירית בלבד שום משמעות בשלב זה. עתה נתאים לכל ביטוי רגולרי שפה. פורמלית, נגדיר את הפונקציה Σ* L: R 2 L[ ] = L[] = { } σ Σ, L[σ] = {σ} אם r 1, r 2 R L[(r 1 + r 2 )] = L[r 1 ] L[r 2 ] L[(r 1 r 2 )] = L[r 1 ] L[r 2 ] L[(r) * ] = (L[r]) * אז r R אם 13

ביטויים רגולריים קיצורי כתיבה 14 אם } n Σ = {σ 1,,σ אז נשתמש בסימן Σ לציון הביטוי.( ((σ 1 + σ 2 ) + σ 3 ) + + σ n ) אם r ביטוי רגולרי נסמן ב ) + r) את הביטוי הרגולרי (( *.(r (r ע"י קביעת סדר קדימויות נוכל להשמיט סוגריים: בנוסף, * קדימות גבוהה ביותר קדימות בינונית + קדימות נמוכה בדרך כלל נשמיט את אופרטור השרשור. לבסוף לעיתים נשתמש בביטוי הרגולרי לציון השפה שהוא מייצג ללא סימון ה-.L[r] נדגיש כי ביטוי המכיל את הקיצורים הנ"ל אינוביטוי רגולרי, אלא קיצור כתיבה של ביטוי רגולרי.

ביטויים רגולריים דוגמאות נוספות הביטוי ))) * ) (c ((a * ) ((b * ניתן לכתיבה מקוצרת כך:.a * b * c * שפת כל המילים מעל Σ={a,b} נתונה ע"י הביטוי.Σ * או ע"י הקיצור ((a+b) * ) שפת המילים באורך זוגי מעל Σ={a,b} נתונה ע"י הביטוי * ((a+b) (a+b)) או ע"י הקיצור *.(ΣΣ) 15

, שקילות ביטויים רגולריים לאוטומטים נזכור כי המוטיבציה להגדרת ביטויים רגולריים הייתה לתת צורת ייצוג (נוספת) לשפות רגולריות. נוכיח אם כן את שני המשפטים הבאים: לכל r R לכל שפה רגולרית L[r] היא שפה רגולרית. L קיים ביטוי רגולרי.L[r] = L כך ש- r 16

שקילות ביטויים רגולריים לאוטומטים (המשך 1) משפט לכל r R מעל L[r],Σ היא שפה רגולרית. הוכחה נוכיח באינדוקציית מבנה על r. בסיס האינדוקציה: = [ ]L היא רגולרית (בנינו לה אוטומט בהרצאה 2). } } L[] = היא רגולרית (בנינו לה אוטומט בהרצאה 2). לכל L[σ] =,{σ} σ Σ היא רגולרית (בנינו לה אוטומט בהרצאה 2). צעד האינדוקציה נובע ישירות מסגירות השפות הרגולריות תחת פעולות רגולריות (איך?). 17

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 r = 0 18

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 r = 0 * 19

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 r = 0 * 1 r = 1 20

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 r = 0 * 1 1 21

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 r = 0 * 1 1 1 r = 1*0 0 בדומה: 22

בניית אוטומט מתוך ביטוי רגולרי המשפט האחרון מספק דרך אפקטיבית לבניית אוטומט המקבל את השפה שמציין ביטוי רגולרי נתון. נתבונן בביטוי * 0 1+1 *.0 להלן בנייה של אוטומט המקבל את השפה המתאימה: 0 1 r = 0 * 1+1 * 0 1 0 23

והכיוון השני....L[r] = L כך ש- r L Σ * משפט לכל שפה רגולרית הוכחה רגולרית, קיים ביטוי רגולרי לכן קיים אוטומט סופי דטרמיניסטי.L(A) = L כך ש- A = ({q 1, q m },,q 1,δ,F) לכל i,j,k נסמן ב- את השפה הכוללת את המילים שמובילות את i j האוטומט מ- q i ל- q j בלי לעבור דרך מצב שמספרו גדול מ k ("לעבור דרך" אינו כולל את המצב ממנו יוצאים והמצב אליו מגיעים). L k i, j = { w δ ( q u, v δ ( q i i k L,, w) = w,, u) = q l q j uv, = w, l L פורמלית: k} 24

ביטוי רגולרי שקול לאוטומט 1) (המשך עפ"י ההגדרה הקודמת, כיוון שאין מצב גדול מ- m m הרי ש- L כוללת את כל המילים המובילות את i, j האוטומט ממצב q i למצב.q j m L( A) בפרט L נשים לב כי סימננו את המצב ההתחלתי ב.q 1 השפה L(A) הינה איחוד של מספר סופי של שפות. k L ביטוי רגולרי לפיכך אם נוכל למצוא לכלj i, למצוא ביטוי רגולרי עבור.L(A) = 1, j q F j נוכל 25

k השפה L ij q 1 q k+3 q k+1 q i q k q k-3 qj נשים לב כי יתכן ש- i,j>k (בדוגמא זו (.j>k,i k q k-1 q k+2 q k-2 q m q k+... 26

L k i, הגדרה רקורסיבית של j.q j ל- q i עבור = 0 k ייתכן רק מעבר ישיר מ- q i q j q i i j i=j 0 w L i, j מתקיים. w 1 קל לוודא לפיכך, לכל שלשפה כזו קיים ביטוי רגולרי המייצג אותה. ( +σ 1 + +σ n ),(σ 1 + +σ n ) לדוגמא:, 27

(1 עבור הגדרה רקורסיבית של ב- קיימים שני סוגי מילים: (המשך q k,k > 0 מילים שאינן גורמות ל A k 1 נמצאות גם ב-. מילים הגורמות ל A לעבור דרך לעבור דרך מילים אלה L k i, j.q k L i, j k L i, j q i q k q j q i q k q j w 1 L k i, j 28

הגדרה רקורסיבית של 2) L (המשך k i, j את המילים הגורמות ל- A q k חלקים :uvw לעבור דרך ניתן לפרק לשלושה רישא u המובילה את A מ- q i לביקור ראשון ב- q. k רישא זו נמצאת k 1 ב-. חלק אמצעי v הגורם ל- A k 1 * חלק זה נמצא ב- ). לבצע מספר סיבובים תוך חזרה ל- q. k סיפא w המובילה את A מביקורו האחרון ב- q k k 1 ב-. ל- q. j סיפא זו נמצאת q i q j L k, k ) L i, k L k, j u 1 L k i, k q k w 1 L k k, j v ( 1 * L k k, k ) 29

סיכום בניית הביטוי הרגולרי עבור האוטומט k = k 1 + k 1 ( k 1 ) * k 1 i j i j i k k k k j r r r r r q i k 1 r i k k 1 r i j q k q j k 1 r k j ( k 1 r ) * k k 30

b a b k r11 q 1 a q 2 דוגמא קצרה k = 0 k = 1 k = 2 b+ ( ) * r + r r r 0 0 0 0 1 1 1 1 1 1 1 1 ( ) * r + r r r 1 1 1 1 1 1 1 2 2 2 2 1 = (b+)+(b+)(b+) * (b+)=b * =b * +b * a(b++ab * a) * ab * k r12 k r21 k r22 a a b+ ( ) * r + r r r 0 0 0 0 1 2 1 1 1 1 1 2 = a+(b+)(b+) * a=b * a ( ) * r + r r r 0 0 0 0 2 1 2 1 1 1 1 1 = a+a(b+) * (b+)=ab * ( ) * r + r r r 0 0 0 0 2 2 2 1 1 1 1 2 = (b+)+a(b+) * a=b++ab * a 31

משפט קליני משפט (קליני) משפחת השפות הרגולריות היא הקבוצה הקטנה ביותר המכילה את כל השפות הסופיות והסגורה תחת הפעולות הרגולריות. הוכחה כיוון א' כל שפה סופית היא רגולרית הוכח ביחידה הקודמת. סגירות ביחס לפעולות רגולריות הוכחה ביחידה זו. כיוון ב' נובע מהמשפט האחרון, לפיו לכל שפה רגולרית קיים ביטוי רגולרי המציין אותה. כל קבוצה המכילה את השפות הסופיות והסגורה לפעולה רגולריות חייבת להכיל את כל השפות המצוינות ע"י ביטויים רגולריים, כלומר את השפות הרגולריות. 32

זהויות בין ביטויים רגולריים כיוון שלכל שפה קיימים אינסוף ביטויים רגולריים המציינים אותה, נתעניין בשאלת הזהות בין שני ביטויים רגולריים. בשלב ראשון, שיטת ההוכחה תסתמך על תכונות השפות ביחס לפעולות רגולריות, ועל הוכחת הכלה דו כיוונית: L[r 1 ] = L[r 2 ] L[r 1 ] L[r 2 ] L[r 2 ] L[r 1 ] 33

זהויות רגולריות דוגמא 1.r,r 1 = (0 * 1) * יהיו * 1 1) (0 + + = 2 מייצגים את אותה השפה. נוכיח כי ביטויים אלה w L[r 1 ] L[r 1 ] L[r 2 ] נניח כי מכאן w = או w 1,,w n L[0 * 1], w = w 1 w 2 w n אם w = אז בוודאי ] 2.w { } {0,1} * {1} =L[r אחרת, w מסתיימת ב- 1, ולכן ] 2.w {0, 1} * {1} L[r 34

זהויות רגולריות דוגמא 1 (המשך) w L[r 2 ] = { } {0,1} * {1} w ({0} * {1}) * = L[r 1 ] x L[(0 + 1) * ].w L[r 1 ] w = x1 :L[r 2 ] L[r 1 ] נניח כי אם w = אזי בבירור נוכל לכתוב כאשר k מופעים של 1. x אם w יש נניח כי ב במקרה זה נוכל לכתוב k+1 x = y 1 1y 2 1 y k 1y כאשר לכל k+1.y i {0} *, 1 i אולם אז 1) k+1 w = (y 1 1)(y 2 1) (y k 1)(y ולכן 35

זהויות רגולריות דוגמא 2 * 1) (0 + אינם שקולים., נראה שהביטויים * 1 + * 0 דוגמא נגדית: * (1 0) + מייצגת את שפת כל המילים 01 L[(0 + 1) * ] זה בוודאי נכון, שכן מעל {0,1}. לעומת זאת ] * L[0 01 וכן ] * L[1 01.01 L[0 * ] L[1 * ] = L[0 * + 1 * ] ומכאן דוגמאות נוספות בתרגול. 36